﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RemoteController 
{
    public class RelaxMacroCommandGetter : MacroGetter
    {
        BathroomLightOffCommand lightOff;
        BathroomLightOnCommand lightOn;
        StereoOnCommand stereoOn;
        StereoOffCommand stereoOff;
        HottubOnCommand hottubOn;
        HottubOffCommand hottubOff;
		
		MacroCommand relaxOnMacro;
        MacroCommand relaxOffMacro;

        public Command[] commandsON;
        public Command[] commandsOFF;

        public RelaxMacroCommandGetter(Light light, Stereo stereo, Hottub hottub)
        {
            lightOff = new BathroomLightOffCommand(light);
            lightOn = new BathroomLightOnCommand(light);
            stereoOn = new StereoOnCommand(stereo);
            stereoOff = new StereoOffCommand(stereo);
            hottubOn = new HottubOnCommand(hottub);
            hottubOff = new HottubOffCommand(hottub);

            commandsON = new Command[] { lightOn, stereoOn, hottubOn };
			commandsOFF= new Command[] { lightOff, stereoOff, hottubOff };
			
			relaxOnMacro = new MacroCommand(commandsON);
            relaxOffMacro = new MacroCommand(commandsOFF);

        }

        public virtual MacroCommand getOnMacro()
        {
            return relaxOnMacro;
        }

        public virtual MacroCommand getOffMacro()
        {
            return relaxOffMacro;
        }
    }
}
